/* FontAwesome Icons - Local Version */
/* 使用Unicode字符和CSS图标，确保离线可用 */

.fas, .fa-solid, .far, .fa-regular, .fab, .fa-brands {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", Arial, sans-serif;
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    display: inline-block;
}

/* 如果字体文件不可用，使用Unicode字符和CSS图标作为后备 */
.fa-clipboard-check::before { content: "📋"; }
.fa-tachometer-alt::before { content: "📊"; }
.fa-search::before { content: "🔍"; }
.fa-university::before { content: "🏛️"; }
.fa-calendar-alt::before { content: "📅"; }
.fa-microscope::before { content: "🔬"; }
.fa-users::before { content: "👥"; }
.fa-user-cog::before { content: "⚙️"; }
.fa-door-open::before { content: "🚪"; }
.fa-bolt::before { content: "⚡"; }
.fa-fire-extinguisher::before { content: "🧯"; }
.fa-boxes::before { content: "📦"; }
.fa-broom::before { content: "🧹"; }
.fa-exclamation-triangle::before { content: "⚠️"; }
.fa-clipboard-list::before { content: "📋"; }
.fa-save::before { content: "💾"; }
.fa-info-circle::before { content: "ℹ️"; }
.fa-tasks::before { content: "✅"; }
.fa-check-circle::before { content: "✅"; }
.fa-exclamation-circle::before { content: "❗"; }
.fa-filter::before { content: "🔽"; }
.fa-times::before { content: "✖️"; }
.fa-list::before { content: "📄"; }
.fa-file-excel::before { content: "📊"; }
.fa-eye::before { content: "👁️"; }
.fa-download::before { content: "⬇️"; }
.fa-check::before { content: "✓"; }
.fa-chevron-left::before { content: "◀"; }
.fa-chevron-right::before { content: "▶"; }
.fa-times-circle::before { content: "❌"; }
.fa-plus::before { content: "+"; }
.fa-edit::before { content: "✏️"; }
.fa-trash::before { content: "🗑️"; }
.fa-home::before { content: "🏠"; }
.fa-cog::before { content: "⚙️"; }
.fa-sign-out-alt::before { content: "🚪"; }
.fa-user::before { content: "👤"; }
.fa-lock::before { content: "🔒"; }
.fa-envelope::before { content: "✉️"; }
.fa-phone::before { content: "📞"; }
.fa-calendar::before { content: "📅"; }
.fa-clock::before { content: "🕐"; }
.fa-star::before { content: "⭐"; }
.fa-heart::before { content: "❤️"; }
.fa-thumbs-up::before { content: "👍"; }
.fa-thumbs-down::before { content: "👎"; }
.fa-warning::before { content: "⚠️"; }
.fa-bell::before { content: "🔔"; }
.fa-comment::before { content: "💬"; }
.fa-share::before { content: "📤"; }
.fa-print::before { content: "🖨️"; }
.fa-copy::before { content: "📋"; }
.fa-cut::before { content: "✂️"; }
.fa-paste::before { content: "📋"; }
.fa-undo::before { content: "↶"; }
.fa-redo::before { content: "↷"; }
.fa-refresh::before { content: "🔄"; }
.fa-sync::before { content: "🔄"; }
.fa-upload::before { content: "⬆️"; }
.fa-folder::before { content: "📁"; }
.fa-file::before { content: "📄"; }
.fa-image::before { content: "🖼️"; }
.fa-video::before { content: "🎥"; }
.fa-music::before { content: "🎵"; }
.fa-volume-up::before { content: "🔊"; }
.fa-volume-down::before { content: "🔉"; }
.fa-volume-mute::before { content: "🔇"; }
.fa-play::before { content: "▶️"; }
.fa-pause::before { content: "⏸️"; }
.fa-stop::before { content: "⏹️"; }
.fa-forward::before { content: "⏩"; }
.fa-backward::before { content: "⏪"; }
.fa-step-forward::before { content: "⏭️"; }
.fa-step-backward::before { content: "⏮️"; }
.fa-eject::before { content: "⏏️"; }
.fa-random::before { content: "🔀"; }
.fa-repeat::before { content: "🔁"; }

/* CSS图标样式 - 使用纯CSS绘制的图标作为备选方案 */
.fa-menu::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 0.8em;
    background: linear-gradient(to bottom, currentColor 0%, currentColor 20%, transparent 20%, transparent 40%, currentColor 40%, currentColor 60%, transparent 60%, transparent 80%, currentColor 80%, currentColor 100%);
}

.fa-close::before,
.fa-times::before {
    content: "×";
    font-size: 1.2em;
    font-weight: bold;
}

.fa-arrow-up::before { content: "↑"; }
.fa-arrow-down::before { content: "↓"; }
.fa-arrow-left::before { content: "←"; }
.fa-arrow-right::before { content: "→"; }

/* 基础图标样式 */
.fa, .fas, .far, .fal, .fab {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* 图标大小 */
.fa-xs { font-size: 0.75em; line-height: 0.08333em; vertical-align: 0.125em; }
.fa-sm { font-size: 0.875em; line-height: 0.07143em; vertical-align: 0.05357em; }
.fa-lg { font-size: 1.33333em; line-height: 0.75em; vertical-align: -0.0667em; }
.fa-xl { font-size: 1.5em; line-height: 0.66667em; vertical-align: -0.125em; }
.fa-2xl { font-size: 2em; line-height: 0.5em; vertical-align: -0.25em; }
.fa-1x { font-size: 1em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }
.fa-6x { font-size: 6em; }
.fa-7x { font-size: 7em; }
.fa-8x { font-size: 8em; }
.fa-9x { font-size: 9em; }
.fa-10x { font-size: 10em; }

/* 图标对齐 */
.fa-fw { text-align: center; width: 1.25em; }

/* 图标变换 */
.fa-rotate-90 { transform: rotate(90deg); }
.fa-rotate-180 { transform: rotate(180deg); }
.fa-rotate-270 { transform: rotate(270deg); }
.fa-flip-horizontal { transform: scale(-1, 1); }
.fa-flip-vertical { transform: scale(1, -1); }
.fa-flip-both { transform: scale(-1, -1); }

/* 动画效果 */
.fa-spin {
    animation: fa-spin 2s infinite linear;
}

.fa-pulse {
    animation: fa-pulse 1s infinite steps(8);
}

@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes fa-pulse {
    0% { opacity: 1; }
    50% { opacity: 0.25; }
    100% { opacity: 1; }
}

/* 边框和拉取 */
.fa-border {
    border: solid 0.08em #eee;
    border-radius: 0.1em;
    padding: 0.2em 0.25em 0.15em;
}

.fa-pull-left {
    float: left;
    margin-right: 0.3em;
}

.fa-pull-right {
    float: right;
    margin-left: 0.3em;
}

/* 堆叠图标 */
.fa-stack {
    display: inline-block;
    height: 2em;
    line-height: 2em;
    position: relative;
    vertical-align: middle;
    width: 2em;
}

.fa-stack-1x, .fa-stack-2x {
    left: 0;
    position: absolute;
    text-align: center;
    width: 100%;
}

.fa-stack-1x { line-height: inherit; }
.fa-stack-2x { font-size: 2em; }

/* 响应式图标 */
@media (max-width: 768px) {
    .fas, .fa-solid, .far, .fa-regular {
        font-size: 0.9em;
    }
    
    .fa-lg { font-size: 1.2em; }
    .fa-2x { font-size: 1.5em; }
    .fa-3x { font-size: 2em; }
}

/* 深色模式支持 */
@media (prefers-color-scheme: dark) {
    .fa-border {
        border-color: #444;
    }
}

/* 高对比度模式支持 */
@media (prefers-contrast: high) {
    .fas, .fa-solid, .far, .fa-regular {
        font-weight: bold;
    }
} 